package com.hospital.service;

import com.hospital.entity.User;

import java.util.Map;

/**
 * 统一认证服务接口
 *
 * @author Hospital Management System
 */
public interface AuthService {

    /**
     * 用户注册
     */
    void register(User user);

    /**
     * 用户登录（支持自动判断角色）
     * @param username 用户名
     * @param password 密码
     * @param role 角色（可选，为null时自动判断）
     * @return 登录结果信息（包含token等）
     */
    Map<String, Object> login(String username, String password, Integer role);

    /**
     * 获取当前登录用户
     */
    User getCurrentUser();

    /**
     * 修改密码
     */
    void changePassword(Long userId, String oldPassword, String newPassword);

    /**
     * 退出登录
     */
    void logout();
} 